package com.southminority.ethnic.pojo;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 非遗-研究成果关联实体类
 * 
 * @author SouthMinority
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("heritage_research_link")
public class HeritageResearchLink {

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 关联的非遗ID
     */
    @TableField("heritage_id")
    private Long heritageId;

    /**
     * 展示标题
     */
    @TableField("title")
    private String title;

    /**
     * 简介
     */
    @TableField("description")
    private String description;

    /**
     * 类型：link/report/paper/patent/project/progress等
     */
    @TableField("type")
    private String type;

    /**
     * 外链URL（当直接跳转时使用）
     */
    @TableField("url")
    private String url;

    /**
     * 当指向站内科研表时：paper/report/intellectual_property/research_project/research_progress
     */
    @TableField("source_table")
    private String sourceTable;

    /**
     * 对应source_table的主键ID
     */
    @TableField("source_id")
    private Long sourceId;

    /**
     * 展示日期（YYYY-MM等）
     */
    @TableField("date")
    private String date;

    /**
     * 排序顺序
     */
    @TableField("sort_order")
    private Integer sortOrder;

    /**
     * 状态：1-正常 0-禁用 -1-删除
     */
    @TableField("status")
    private Integer status;

    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
} 
